#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtSvg>
#include <QVector>
#include <QPainter>
#include <QFileDialog>
#include <QDir>

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QVector<QStringList> getContentsOfTableView(void);
private slots:
    void onCellClicked(int,int);
    void onOpenFile(void);
    void onSaveFile(void);
    void onCloseFile(void);
public slots:
    void setImage(QByteArray image);
    void appendTableRow(QStringList);
    void receiveShapes(QVector<QStringList>);
    void redraw(QByteArray newData);
signals:
    void shapeSelected(uint elementIndex);
    void openFile(QString);
    void saveFile(QString, QVector<QStringList>);
    void closeFile(void);
};

#endif // MAINWINDOW_H
